C2.2.2 - Test Unitaires
Compétence : C2.2.2 – Développer un harnais de test unitaire en tenant compte des fonctionnalités demandées afin de prévenir les régressions et de s'assurer du bon fonctionnement du logiciel.
Vue d'ensemble
Statistiques du harnais
- Framework : Jest + NestJS Testing Module
- Tests totaux : 93 tests unitaires
- Couverture : 58.52% statements, 54.33% fonctions
- Modules testés : 9 modules avec isolation complète
Organisation
src/
├── auth/*.spec.ts # Tests authentification (25 tests)
├── user/*.spec.ts # Tests utilisateurs (27 tests)
├── massage/*.spec.ts # Tests catalogue (17 tests)
├── planning/*.spec.ts # Tests réservations (15 tests)
└── email/*.spec.ts # Tests notifications (9 tests)
Couverture par module
Module | Couverture | Tests | Focus |
---|---|---|---|
User | 82.14% | 27 | CRUD + validation |
Auth | 73.17% | 25 | JWT + sécurité + guards |
Massage | 69.44% | 17 | Catalogue + images |
Planning | 54.54% | 15 | Réservations + conflits |
82.35% | 9 | SMTP + templates |
Intégration CI/CD
- Tests automatiques sur chaque push / et merge sur master
- Couverture minimale requise : 50%
Mocking et isolation
// Services mockés pour isolation
const mockPrismaService = {
user: { findUnique: jest.fn() },
booking: { create: jest.fn() }
};
jest.mock('bcryptjs', () => ({
compare: jest.fn(),
hash: jest.fn()
}));
Commandes de test
# Développement
npm run test # Tests unitaires
npm run test:watch # Mode watch
# Validation
npm run test:cov # Avec couverture
Conclusion
Conformité C2.2.2 : VALIDÉE
- Harnais complet : 93 tests couvrant la majorité du code
- Prévention régressions : Tests automatisés + CI/CD
- Bon fonctionnement : Validation workflow + sécurité
- Architecture robuste : Isolation + mocking + assertions complètes